type PlotCmdType =
  | 'color' // 云图
  | 'deform' // 形变
  | 'filtrate' // 筛选
  | 'isosurface' // 等值面
  | 'planeCurve' // 平面曲线
  | 'streamline' // 流线
  | 'animation'; // 动画
type PlotCmdName =
  | '云图'
  | '形变'
  | '筛选'
  | '等值面'
  | '平面曲线'
  | '流线'
  | '动画';
type PlotCmdParam = {
  formulas: string[];
  fields: string[];
  value?: number;
  lineWidth?: number;
  SelectedEntities?: string[];
};
type PlotCmdData = {
  name: string;
  type: PlotCmdType;
  param?: PlotCmdParam;
};

type PlotSource = {
  uuid: string; // result uuid
  docId: string; // doc uuid
  version: string; // doc version
  fieldNames?: any[]; // 对应场名列表
  step?: number; // 当前选择的步数
  frame?: number; // 当前选择的帧
};

type PlotFormData = {
  name: string;
  source: PlotSource;
  colormap: string;
  commands: PlotCmdData[];
};

export type {
  PlotCmdName,
  PlotCmdType,
  PlotCmdData,
  PlotCmdParam,
  PlotFormData,
  PlotSource,
};
